package com.lvy.hczn.front.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.lvy.hczn.front.system.domain.system.SysArea;

import java.util.List;
import java.util.Map;

public interface ISysAreaService extends IService<SysArea> {

    /**
     * 获取分页列表
     *
     * @param sysArea
     * @return
     */
    List<SysArea> getPageList(SysArea sysArea);

    /**
     * 根据商品code获取信息
     *
     * @param id
     * @return
     */
    SysArea getById(String id);

    /**
     * 保存或者修改信息
     *
     * @param sysArea
     * @return
     * @throws Exception
     */
    int saveData(SysArea sysArea) throws Exception;

    /**
     * 删除信息
     *
     * @param ids
     * @return
     * @throws Exception
     */
    void delData(String ids) throws Exception;

    /**
     * @param id 子节点ID
     * @description: 根据子节点ID查询所有父节点
     * @author yw
     * @date 2021/4/24 16:43
     * @Return
     */
    List<SysArea> getParentNodesByChildNode(String id) throws Exception;

    /**
     * @param pId
     * @description: 根据父节点查询子节点列表
     * @author yw
     * @date 2021/4/24 17:53
     * @Return
     */
    List<SysArea> getChildNodeByPId(String pId) throws Exception;

    /**
     * @param extName
     * @description: 根据统称查询
     * @author yw
     * @date 2021/4/24 17:53
     * @Return
     */
    List<SysArea> getByExtName(String extName) throws Exception;

    /**
     * 省市区N（deep）级联动数据返回，根据deep字段设置,deep父级信息（包含deep级）
     *
     * @param sysArea
     * @return
     */
    List<SysArea> selectByDeep(SysArea sysArea);
}
